//
//  LeftRightAlignButton.swift
//  XWHAOfflineFitting
//
//  Created by edy on 2024/4/2.
//

import UIKit

class LeftRightAlignButton: UIButton {

    var isLeftImage = true
    var leftRightOffset: CGFloat = 0
    var midSpacing: CGFloat = 0
    
    override func layoutSubviews() {
        super.layoutSubviews()
        
        var offsetX = leftRightOffset
        if isLeftImage {
            if let imageView = imageView {
                /** 修改 imageView 的 frame */
                // 1.获取 imageView 的 frame
                var imageViewFrame = imageView.frame
                // 2.修改 imageView 的 frame
                imageViewFrame.origin.x = offsetX
                // 3.重新赋值
                imageView.frame = imageViewFrame
                offsetX += imageViewFrame.width + midSpacing
            }
            
            if let titleLabel = titleLabel {
                /** 修改 title 的 frame */
                // 1.获取 titleLabel 的 frame
                var titleLabelFrame = titleLabel.frame
                // 2.修改 titleLabel 的 frame
                titleLabelFrame.origin.x = offsetX
                // 3.重新赋值
                titleLabel.frame = titleLabelFrame
            }
        } else {
            if let titleLabel = titleLabel {
                /** 修改 title 的 frame */
                // 1.获取 titleLabel 的 frame
                var titleLabelFrame = titleLabel.frame
                // 2.修改 titleLabel 的 frame
                titleLabelFrame.origin.x = offsetX
                // 3.重新赋值
                titleLabel.frame = titleLabelFrame
//                offsetX += titleLabelFrame.width + midSpacing
            }
            
            if let imageView = imageView {
                /** 修改 imageView 的 frame */
                // 1.获取 imageView 的 frame
                var imageViewFrame = imageView.frame
                // 2.修改 imageView 的 frame
                imageViewFrame.origin.x = bounds.width - imageViewFrame.width - leftRightOffset
                // 3.重新赋值
                imageView.frame = imageViewFrame
            }
        }
    }

}
